home *** CD-ROM | disk | FTP | other *** search
/ Scene 96 / Scene 96 International Edition (Zyklop Software) (Disc 1) (1997).iso / intros / 64k / revolt / sources / part5.as3 < prev    next >
Text File  |  1996-01-25  |  5KB  |  323 lines

  1.  
  2. ; w torusie zdelta na 92 
  3.  
  4. jumps
  5. .386p
  6. CODE32 SEGMENT PARA PUBLIC USE32
  7. ASSUME cs:CODE32, ds:CODE32
  8.  
  9.         include    design.mak
  10.         include pmode.inc
  11.         include    timer.ext
  12.         include    rotatem.ext
  13.         EXTRN    sound    :BYTE
  14.         EXTRN    gold    :BYTE
  15.         EXTRN    stal    :BYTE
  16.         PUBLIC     part5
  17.  
  18.         mama    db 0
  19.         lii    dd 0
  20.  
  21. make_me_happy    PROC
  22.         lea    esi,gold
  23.         call    generate32env
  24.  
  25.         mov    widoczno₧ì,0
  26.         mov    zdelta,800
  27.         mov    angleX,0
  28.         mov    angleY,0
  29.         mov    angleZ,0
  30.         mov    inc_xxx,0
  31.         mov    inc_yyy,0
  32.         mov    inc_zzz,0
  33.         mov    d_x,160
  34.         mov    d_y,100
  35.         lea    edi,pixels
  36.         mov    adr_pixels,edi
  37.         lea    edi,faces
  38.         mov    adr_faces,edi
  39.         mov    number_p,number_of_points
  40.         mov    number_f,number_of_faces
  41.         call    calc_nor
  42.  
  43.         mov    ecx,number_of_faces/2
  44.          mov    edi,adr_colors
  45.     gg:    mov    byte ptr [edi],128
  46.         mov    byte ptr [edi+1],64 ;64
  47.         add    edi,2
  48.         loop    gg
  49.         mov    byte ptr [edi],128
  50.          ret
  51. make_me_happy    ENDP
  52.  
  53. make_me_happy2     PROC
  54.         mov    ecx,number_of_faces/2
  55.          mov    edi,adr_colors
  56. gwiozda:    mov    byte ptr [edi],0 ;128
  57.         mov    byte ptr [edi+1],64 ;64
  58.         add    edi,2
  59.         loop    gwiozda
  60.         mov    byte ptr [edi],0
  61.         ret
  62. make_me_happy2     ENDP
  63.  
  64. make_me_happy22     PROC
  65.         mov    ecx,number_of_faces/2
  66.          mov    edi,adr_colors
  67. gwio:           mov    byte ptr [edi],128 ;128
  68.         mov    byte ptr [edi+1],128 ;64
  69.         add    edi,2
  70.         loop    gwio
  71.         mov    byte ptr [edi],128
  72.         ret
  73. make_me_happy22     ENDP
  74.  
  75. make_me_happy5    PROC
  76.         mov    ecx,number_of_faces/2
  77.          mov    edi,adr_colors
  78. gwiozd:        mov    byte ptr [edi],0 ;128
  79.         mov    byte ptr [edi+1],0 ;64
  80.         add    edi,2
  81.         loop    gwiozd
  82.         mov    byte ptr [edi],0
  83.         ret
  84. make_me_happy5     ENDP
  85.  
  86.  
  87. make_me_happy4     PROC
  88.         mov    ecx,number_of_faces/2
  89.          mov    edi,adr_colors
  90. gwiozda2:    mov    byte ptr [edi],0 ;128
  91.         mov    byte ptr [edi+1],128 ;64
  92.         add    edi,2
  93.         loop    gwiozda2
  94.         mov    byte ptr [edi],0
  95.         ret
  96. make_me_happy4     ENDP
  97.  
  98.  
  99. part5        PROC
  100.         lea    esi,tÆo
  101.         @rlp    edi,0a0000h
  102.         call    copyEkran
  103.  
  104.         mov    ecx,16
  105.     iop1:    push    ecx
  106.         lea    edi,pal5
  107.         mov    bl,4
  108.         call    pal_fadein10
  109.         pop    ecx
  110.         loop    iop1
  111.  
  112.         call    reset_ramki
  113.         call    make_me_happy 
  114.         mov    d_x,350
  115.     pætla3:    
  116.         cmp    mama,0
  117.         je    mam1
  118.         cmp    mama,1
  119.         je    mam22
  120.         jmp    dddd
  121.     mam1:    
  122.         cmp    zdelta,150
  123.         jg    zd11
  124.         mov    zdelta,150
  125.     zd11:
  126.         cmp    d_x,160
  127.         jl    mam2
  128.         mov    eax,ramki
  129.         add    angleX,eax
  130.         add    angleZ,eax
  131.         sub    zdelta,eax
  132.         sub    zdelta,eax
  133.         sub    zdelta,eax
  134.         sub    d_x,ax
  135.         jmp    dddd
  136.     mam2:    mov    d_x,160
  137.                     call    pal_white
  138.                     lea    esi,pal5
  139.                     call    pal_set
  140.         mov    mama,1
  141.         jmp    dddd
  142.     mam22:    
  143.         mov    eax,ramki
  144.         add    angleX,eax
  145.         add    angleZ,eax
  146.         jmp    dddd
  147.  
  148. dddd:        call    draw_torus
  149.         design2    0900h,kii2,pætla3
  150.  
  151. kii2:
  152.                 lea    esi,stal
  153.                 call    generate32env
  154.  
  155.         mov    byte ptr [edi],128
  156.         call    pal_white
  157.         mov    angleX,0
  158.         mov    angleZ,0
  159.         mov    widoczno₧ì,1
  160.         mov    zdelta,129        
  161.         call    draw_torusIn
  162.         lea    esi,pal5
  163.         call    pal_set
  164.         
  165.  
  166.         mov    mama,0
  167.  
  168. kii:
  169.         cmp    mama,0
  170.         je    tom1
  171.         cmp    mama,1
  172.         je    tom2
  173.         cmp    mama,2
  174.         je    tom3
  175.  
  176.         jmp    kih1
  177.  
  178.     tom2:                mov    eax,ramki
  179.                     add    angleY,eax
  180.                     add    angleZ,eax
  181.         design2 0920h,iest2,kih1
  182.     iest2:
  183.         call    make_me_happy2
  184.         call    pal_white
  185.         call    draw_torusIn
  186.         lea    esi,pal5
  187.         mov    mama,2
  188.         call    pal_set
  189.         jmp    kii
  190.  
  191.     tom1:
  192.                     mov    eax,ramki
  193.                     add    angleY,eax
  194.         design2 0910h,iest1,kih1
  195.     iest1:
  196.         call    make_me_happy4
  197.         mov    mama,1
  198.         call    pal_white
  199.         call    draw_torusIn
  200.         lea    esi,pal5
  201.         call    pal_set
  202.         jmp    kii
  203.  
  204.     tom3:
  205.                     mov    eax,ramki
  206.                     Sub    angleY,eax
  207.                     sub    anglez,eax
  208.         design2 093fh,kig2,iest7
  209.     iest7:
  210.     kih1:
  211.  
  212.         call    draw_torusIn
  213.  
  214.         in    al,60h
  215.         cmp    al,1
  216.         jne    kii
  217.  
  218. kig2:
  219.         design    0a00h,mig1
  220.     mig1:    call    pal_white
  221.         lea    esi,pal5
  222.         call    pal_set
  223.         design    0a01h,mig2
  224.     mig2:    call    pal_white
  225.         lea    esi,pal5
  226.         call    pal_set
  227.         design    0a03h,mig3
  228.     mig3:    call    pal_white
  229.         lea    esi,pal5
  230.         call    pal_set
  231.         design    0a05h,mig4
  232.     mig4:    call    pal_white
  233.                 call make_me_happy22
  234.         mov    zdelta,200
  235.         call    draw_torus
  236.         lea    esi,pal5
  237.         call    pal_set
  238. ;        call    make_me_happy5
  239.         mov    widoczno₧ì,0
  240.                             lea    esi,gold
  241.                             call    generate32env
  242.     brach:    ;chester ma udziaÆ to dlaczego nie Brach...
  243.         mov    eax,ramki
  244.         add    lii,eax
  245.         add    lii,eax
  246.         add    zdelta,eax
  247.         add    zdelta,eax
  248.         add    zdelta,eax
  249.         add    angleX,eax
  250.         add    angleY,eax
  251.         add    angleZ,eax
  252.         cmp    eax,2
  253.         jb    tyy        
  254.         shr    eax,1
  255. tyy:
  256.         add    d_y,ax
  257.         add    d_x,ax
  258.  
  259.  
  260.         call    draw_torus ;b
  261.  
  262.         design2    00a3fh,hhj,brach
  263.  
  264.     hhj:
  265.         call    pal_white
  266.  
  267.         ret
  268. part5    ENDP
  269.  
  270. draw_torus:
  271.         call    reset_ramki
  272.         lea    esi,tÆo
  273.         lea    edi,screen
  274.         call    copyEkran
  275.         call    copyPoints
  276.         call    rotatety
  277.         call    _sort
  278.         call    make_lightE    
  279.         call    drawFacesVcE
  280.         lea    esi,screen
  281.         call    ekran
  282.         ret
  283.  
  284. draw_torusb:
  285.         call    reset_ramki
  286.         lea    esi,tÆo
  287.         lea    edi,screen
  288.         call    copyEkran
  289.         call    copyPoints
  290.         call    rotatety
  291.         call    _sort
  292.         call    make_lightE    
  293.         call    drawFacesVcE
  294.         call    blur
  295.         ret
  296.  
  297. draw_torusIn:
  298.         call    reset_ramki
  299.         lea    esi,tÆo
  300.         lea    edi,screen
  301.         call    copyEkran
  302.         call    copyPoints
  303.         call    rotatety
  304.         call    _sort
  305.         call    make_lightE    
  306.         sub    number_f,32
  307.         call    drawFacesVcE
  308.         add    number_f,32
  309.         lea    esi,screen
  310.         call    ekran
  311.         ret
  312.  
  313.     pal5:
  314.         include    part5.pal
  315.  
  316.         include objects\tor350
  317.         include    revolt.ext
  318.  
  319. CODE32 ENDS
  320. END
  321.  
  322.  
  323.